home *** CD-ROM | disk | FTP | other *** search
/ Maclife 39 / MACLIFE39.ISO.7z / MACLIFE39.ISO / FreeWare200 / インターネット / Fetch3.0.3J2.cpt / Fetch3.0.3J2 / Fetch Help.rsrc / FHLP_750_ ノXノNノ菲vノg < prev    next >
Text File  |  1997-07-04  |  6KB  |  94 lines

  1. スクリプト
  2.  
  3. Fetch 3.0は多くのアップルイベントをサポートしています。このためアップルスクリプトあるいはUserLand Frontierを使うことによりFetchの多くの動作を自動化できます。これは他のアプリケーションから見てFetchをURLを解釈するヘルパーアプリケーションとして使えることを意味します。ここではFetchとAnarchieがサポートするURLのアップルイベントについて説明します。Fetchはさらにアップルイベントをサポートのレコード機能もあります。どんなふうに実行されているかはスクリプトエディタでこれを記録することによりチェックしたり学習したりすることができます。さらにはFetchはFrontierのメニューシェアリング機能もサポートしていますのでUserLand FrontierにFetchのメニューバーを追加することもできます。
  4.  
  5. URL Suite
  6.  
  7. Fetch はNorthwestern UniversityのJohn Norstadらによって提唱されたURLを扱う geturl (GURL)というイベントをサポートしています。アップルスクリプトでは以下のように記述します:
  8.  
  9. tell application "Fetch 3.0"
  10.     geturl "ftp://ftp.dartmouth.edu/"
  11. end tell
  12.  
  13. この geturl イベントはInternet Configシステムやその他ので使われたときURL情報を交換できます。したがってe-mailのプログラム、ニュースリーダーそしてWWWブラウザにもgeturl をつかってFTP URLをわたすことができます。
  14.  
  15. Anarchie Suite
  16.  
  17. Peter N Lewisの Anarchie は最初にアップルイベントをサポートしたFTPクライアントでした。Fetch 3.0はこのAnarchieがサポートしているイベントを同じくサポートしています。このためAnarchie用に書かれたスクリプトは再利用できます。サポートしているイベントは以下のとおりです:
  18.  
  19. ファイルをダウンロード:
  20. fetch alias "My hard disk:my folder:cool file" host "ftp.domain.com" user "fred" password "secret" path "remotedir/cool.file.hqx"
  21.  
  22. ファイルをアップロード: 
  23. store alias "My hard disk:my folder:file to upload" host "ftp.domain.com" user "fred" password "secret" path "uploaddir/new.file"
  24.  
  25. ファイルやディレクトリを消す: 
  26. remove host "ftp.domain.com" user "fred" password "secret" path "remotedir/bad.file"
  27.  
  28. ファイルリストを見る: 
  29. list host "ftp.domain.com" user "fred" password "secret" path "remotedir"
  30.  
  31. ディレクトリを作る:  
  32. mkdir host "ftp.domain.com" user "fred" password "secret" path "remotedir/newdir"
  33.  
  34. ファイル名またはディレクトリ名を変更する: 
  35. rename host "ftp.domain.com" user "fred" password "secret" path "remotedir/old.name" newname "new.name"
  36.  
  37. FTPのコマンドを送る: 
  38. rename host "ftp.domain.com" user "fred" password "secret" command "SITE A LIST"
  39.  
  40. ファイル名を検索: 
  41. index host "ftp.domain.com" user "fred" password "secret" path "remotedir/name.to.find"
  42.  
  43. anonymous FTPで上記のコマンドを実行するにはuser と password のところは不要です。またhost, user, password それに path についてはurlで代用できます。
  44.  
  45. たとえば
  46.  
  47. fetch alias "My hard disk:my folder:cool file" url "ftp://fred:secret@ftp.domain.com/remotedir/cool.file.hqx"
  48.  
  49. となります。
  50.  
  51. Fetch Suite
  52.  
  53. Fetch のアップルイベントはアップルイベントオブジェクトモデルに準じています。これは統合的に使われるために体系化されているということです。オブジェクトモデルは言語でいえばアップルイベントが「動詞」で、オブジェクトは「名詞」にあたります。この最終目的はいろいろな動詞と名詞がそろっていることで、さも言葉で命令するように使われるようになることです。そのためにはその動詞、名詞に対応したイベントとオブジェクトをたくさん用意しなければなりません。たとえばアプリケーションにおけるオブジェクトとは窓であったり文節であったりブックマークであったりと、ユーザーが操作したいものであればなんでもかまいません。このオブジェクトモデルではまずそのオブジェクトに対してユーザーが指令します:たとえばブックマーク窓1の3番目のオブジェクトにリモートの'ftp.dartmouth.edu'にある 'README' ファイルを転送しろといった具合です。最上位のコンテナーはアプリケーション自身です。したがってオブジェクトはその構成要素ということができ、それがどんなものどんなクラスを含んでいるかを定義したものといえます。
  54.  
  55. これを定義のように書き直すとFetchは以下の種類のオブジェクトクラスをサポートしています。
  56.  
  57. ・  application オブジェクト, これは以下のオブジェクトを持っています:
  58.     ・ window オブジェクト
  59.     ・ transfer window オブジェクト, これには下のものがさらにあります
  60.         ・ remote item オブジェクト
  61.         ・ remote file オブジェクト
  62.         ・ remote directory オブジェクト
  63.     ・ bookmark list window オブジェクト, これには下のものがさらにあります
  64.         ・ bookmark オブジェクト
  65.     ・ shortcut window オブジェクト,  これには下のものがさらにあります
  66.         ・ bookmark オブジェクト
  67.     ・ text window オブジェクト
  68.     ・  help window オブジェクト
  69.     ・ transcript window オブジェクト
  70.     ・ url オブジェクト
  71.  
  72. オブジェクトにはそれを所有しているプロパティーというものがあります。たとえばapplication オブジェクトはすべての初期設定の項目をプロパティとして所有しています。したがってあなたはdownload folderとかdefault binary file typeとかいったものをを参照することができるわけです。
  73.  
  74. アップルイベントのオブジェクトはイベントによって操作されます。標準のCore suiteと呼ばれるものには close, count, delete, duplicate, exists, get, make, move, open, quit, save それに set があります。Fetchはこれらに加えて download, view, view file list, put into それに send to が追加されています。以下はその例です。
  75.     close text window "ftp.dartmouth.edu messages"
  76.     set bcount to count bookmark list window "Fetch Shortcuts" each bookmark
  77.     delete remote file "a.out" of transfer window "csvax.polytech.edu"
  78.     duplicate remote file "cool.gif" to beginning of alias "Hobbes:Desktop Folder:"
  79.     set fexists to exists bookmark "cool site" of bookmark list window "Fetch Shortcuts"
  80.     get use internet config
  81.     make new transfer window at beginning with properties {hostname:"ftp.dartmouth.edu", initial directory:"/pub"}
  82.     move bookmark 1 of bookmark list window "Fetch Shortcuts" to beginning of bookmark list window "Best Bookmarks"
  83.     open parent directory of transfer window 1
  84.     quit
  85.     save text window "ftp.dartmouth.edu messages" in alias "Hobbes:server messages"
  86.     set transfer mode of transfer window 1 to Binary
  87.     download url "ftp://ftp.dartmouth.edu/pub/mac/README"
  88.     view remote file "README" of transfer window 1
  89.     view file list transfer window "ftp.dartmouth.edu"
  90.     put into transfer window "ftp.dartmouth.edu" item alias "Hobbes:Desktop Folder:Picture 3" binary format MacBinaryII
  91.     send to url "ftp://ftp.dartmouth.edu/" ftp command "LIST -lR"
  92.  
  93. これらのスクリプティングを実感する一番いい方法はスクリプトエディタをレコーディングONにしてで実行してみることです。多くのユーザーの操作はスクリプトとして記録されるはずです。これはFetchのアップルイベントの内容をくわしく見ることができるいい方法です。
  94.